package com.yugao.fintech.antelope.filepreview.service.impl;

import com.yugao.fintech.antelope.filepreview.model.FileAttribute;
import com.yugao.fintech.antelope.filepreview.model.FilePreviewRS;
import com.yugao.fintech.antelope.filepreview.service.FilePreview;
import com.yugao.fintech.antelope.filepreview.utils.AppFileUtils;
import com.yugao.fintech.framework.assistant.utils.exception.BizException;
import org.springframework.stereotype.Service;
import org.springframework.ui.Model;

/**
 * 其他文件
 */
@Service
public class OtherFilePreviewImpl implements FilePreview {


    @Override
    public FilePreviewRS filePreviewHandle(String url, Model model, FileAttribute fileAttribute) {
        throw new BizException("系统还不支持该格式文件的在线预览");
    }

    /**
     * 通用的预览失败，导向到不支持的文件响应页面
     *
     * @return 页面
     */
    public String notSupportedFile(Model model, FileAttribute fileAttribute, String errMsg) {
        return this.notSupportedFile(model, fileAttribute.getSuffix(), errMsg);
    }

    /**
     * 通用的预览失败，导向到不支持的文件响应页面
     *
     * @return 页面
     */
    public String notSupportedFile(Model model, String errMsg) {
        return this.notSupportedFile(model, "未知", errMsg);
    }

    /**
     * 通用的预览失败，导向到不支持的文件响应页面
     *
     * @return 页面
     */
    public String notSupportedFile(Model model, String fileType, String errMsg) {
        model.addAttribute("fileType", AppFileUtils.htmlEscape(fileType));
        model.addAttribute("msg", AppFileUtils.htmlEscape(errMsg));
        return NOT_SUPPORTED_FILE_PAGE;
    }


}
